﻿using IdentityServer4.EntityFramework.Entities;
using Ids4.Api.Models.Dtos.IdentityResources;
using Ids4.Api.Models.Vos.IdentityResources;
namespace Ids4.Api.Services
{
    public interface IIdentityResourceService
    {
        Pagelist<IdentityResourceListVo> GetIdentityResourcesAsync(PageInput pageInput);

        Task<IdentityResourceVo> GetIdentityResourceAsync(int Id);

        Task<bool> CanInsertIdentityResourceAsync(CreateIdentityResourceDto identityResource);

        Task<bool> AddIdentityResourceAsync(CreateIdentityResourceDto identityResource);

        Task<bool> UpdateIdentityResourceAsync(UpdateIdentityResourceDto identityResource);

        Task<bool> DeleteIdentityResourceAsync(int Id);


        Pagelist<IdentityResourceProperty> GetIdentityResourcePropertiesAsync(PageInput pageInput, int identityResourceId);

        Task<bool> AddIdentityResourcePropertyAsync(CreateIdentityResourcePropertyDto identityResourceProperties);

        Task<bool> DeleteIdentityResourcePropertyAsync(int id);
    }
}
